﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using negocios;
using publico;
using objetos;

namespace softsales.pagina.nf_compra
{
    public partial class nf_compra_incluir : System.Web.UI.Page
    {
        BLL_TB_NF_AMBIENTE b_tb_nf_ambiente = new BLL_TB_NF_AMBIENTE();
        BLL_TB_NF_FINALIDADE b_tb_nf_finalidade = new BLL_TB_NF_FINALIDADE();
        BLL_TB_NF_MOD_DOC_FISCAL b_tb_mod_doc_fiscal = new BLL_TB_NF_MOD_DOC_FISCAL();
        BLL_TB_NF_OPERACAO b_tb_nf_operacao = new BLL_TB_NF_OPERACAO();
        BLL_TB_NF_PROCESSO_EMISSAO b_tb_nf_processo_emissao = new BLL_TB_NF_PROCESSO_EMISSAO();
        BLL_TB_NF_STATUS b_tb_nf_status = new BLL_TB_NF_STATUS();
        BLL_TB_NF_TIPO_EMISSAO b_tb_nf_tipo_emissao = new BLL_TB_NF_TIPO_EMISSAO();
        BLL_TB_NF_VERSAO b_tb_nf_versao = new BLL_TB_NF_VERSAO();
        BLL_TB_NF b_tb_nf = new BLL_TB_NF();
        OBJ_TB_NF o_tb_nf = new OBJ_TB_NF();

        BLL_TB_PRODUTO b_tb_produto = new BLL_TB_PRODUTO();
        OBJ_TB_PRODUTO o_tb_produto = new OBJ_TB_PRODUTO();

        BLL_TB_EMPRESA b_tb_empresa = new BLL_TB_EMPRESA();
        OBJ_TB_EMPRESA o_tb_empresa = new OBJ_TB_EMPRESA();

        OBJ_TB_CADASTRO o_tb_cadastro = new OBJ_TB_CADASTRO();
        BLL_TB_CADASTRO b_tb_cadastro = new BLL_TB_CADASTRO();

        BLL_TB_FORMA_PAGAMENTO b_tb_forma_pagamento = new BLL_TB_FORMA_PAGAMENTO();
        BLL_TB_CONDICAO_PAGAMENTO b_tb_condicao_pagamento = new BLL_TB_CONDICAO_PAGAMENTO();

        BLL_TB_TIPO_FRETE b_tb_tipo_frete = new BLL_TB_TIPO_FRETE();
        BLL_TB_UNIDADE_MEDIDA b_tb_unidade_medida = new BLL_TB_UNIDADE_MEDIDA();

        BLL_TB_NF_PARAMETRO b_tb_nf_paramentro = new BLL_TB_NF_PARAMETRO();
        BLL_TB_CFOP b_tb_cfop = new BLL_TB_CFOP();
        OBJ_TB_CFOP o_tb_cfop = new OBJ_TB_CFOP();

        BLL_TB_NF_ITEM b_tb_nf_item = new BLL_TB_NF_ITEM();
        OBJ_TB_NF_ITEM o_tb_nf_item = new OBJ_TB_NF_ITEM();

        OBJ_TB_NF_ITEM_IMPOSTO_COFINS o_tb_nf_item_imposto_cofins = new OBJ_TB_NF_ITEM_IMPOSTO_COFINS();
        BLL_TB_NF_ITEM_IMPOSTO_COFINS b_tb_nf_item_imposto_cofins = new BLL_TB_NF_ITEM_IMPOSTO_COFINS();

        OBJ_TB_NF_ITEM_IMPOSTO_ICMS o_tb_nf_item_imposto_icms = new OBJ_TB_NF_ITEM_IMPOSTO_ICMS();
        BLL_TB_NF_ITEM_IMPOSTO_ICMS b_tb_nf_item_imposto_icms = new BLL_TB_NF_ITEM_IMPOSTO_ICMS();

        OBJ_TB_NF_ITEM_IMPOSTO_II o_tb_nf_item_imposto_ii = new OBJ_TB_NF_ITEM_IMPOSTO_II();
        BLL_TB_NF_ITEM_IMPOSTO_II b_tb_nf_item_imposto_ii = new BLL_TB_NF_ITEM_IMPOSTO_II();

        OBJ_TB_NF_ITEM_IMPOSTO_IPI o_tb_nf_item_imposto_ipi = new OBJ_TB_NF_ITEM_IMPOSTO_IPI();
        BLL_TB_NF_ITEM_IMPOSTO_IPI b_tb_nf_item_imposto_ipi = new BLL_TB_NF_ITEM_IMPOSTO_IPI();

        OBJ_TB_NF_ITEM_IMPOSTO_ISSQN o_tb_nf_item_imposto_issqn = new OBJ_TB_NF_ITEM_IMPOSTO_ISSQN();
        BLL_TB_NF_ITEM_IMPOSTO_ISSQN b_tb_nf_item_imposto_issqn = new BLL_TB_NF_ITEM_IMPOSTO_ISSQN();

        BLL_TB_NF_ITEM_IMPOSTO_PIS o_tb_nf_item_imposto_pis = new BLL_TB_NF_ITEM_IMPOSTO_PIS();
        OBJ_TB_NF_ITEM_IMPOSTO_PIS b_tb_nf_item_imposto_pis = new OBJ_TB_NF_ITEM_IMPOSTO_PIS();

        BLL_TB_CFOP_IMPOSTO b_tb_cfop_imposto = new BLL_TB_CFOP_IMPOSTO();
        OBJ_TB_CFOP_IMPOSTO o_tb_cfop_imposto = new OBJ_TB_CFOP_IMPOSTO();

        protected void Page_Load(object sender, EventArgs e)
        {

            if (PUB_SESSAO.Logado())
            {
                if (!IsPostBack)
                {

                    b_tb_empresa.PreencheControleWeb(DDL_ID_EMPRESA, true);
                    b_tb_mod_doc_fiscal.PreencheControle(DDL_ID_MOD_DOC_FISCAL, true);
                    b_tb_nf_finalidade.PreencheControle(DDL_ID_FINALIDADE, true);                    
                    b_tb_nf_status.PreencheControle(DDL_ID_STATUS, true);
                    b_tb_nf_tipo_emissao.PreencheControleWeb(DDL_ID_TIPO_EMISSAO, true);

                    b_tb_tipo_frete.PreencheControle(DDL_ID_TIPO_FRETE, true);
                    b_tb_forma_pagamento.PreencheControle(DDL_ID_FORMA_PAGAMENTO, true);
                    b_tb_condicao_pagamento.PreencheControleWeb(DDL_ID_CONDICAO_PAGAMENTO, true);
                    b_tb_unidade_medida.PreencheControle(DDL_ID_UNIDADE_MEDIDA, true);

                    //regra de negocio inicial
         

                    DDL_ID_FINALIDADE.SelectedValue = string.Format("{0}", (int)PUB_ENUM.NF_FINALIDADE.NFE_NORMAL);
                    DDL_ID_TIPO_FRETE.SelectedValue = string.Format("{0}", (int)PUB_ENUM.TIPO_FRETE.Por_conta_do_emitente);
                    DDL_ID_STATUS.SelectedValue = string.Format("{0}", (int)PUB_ENUM.NF_STATUS.EMDIGITACAO);
                    DDL_ID_STATUS.Enabled = false;

                    PNL_NF_CONTINGENCIA.Visible = false;

                    DDL_ID_TIPO_EMISSAO.SelectedValue = string.Format("{0}", (int)PUB_ENUM.NF_TIPO_EMISSAO.NORMAL);

                    // nota fiscal eletronica
                    DDL_ID_MOD_DOC_FISCAL.SelectedValue = string.Format("{0}", 30);

                    TAB_CONTAINER.ActiveTab = TAB_NF_DADOS;
                }
                else
                {


                    if (Session["id_cadastro"] != null)
                    {
                        int id_cadastro = Convert.ToInt32(Session["id_cadastro"].ToString());

                        PreencheDadosCadastro(id_cadastro);

                        Session.Remove("id_cadastro");

                    }



                    if (Session["id_cfop"] != null)
                    {
                        int id_cfop= Convert.ToInt32(Session["id_cfop"].ToString());

                        o_tb_cfop =  b_tb_cfop.SelecionarObjetoPorId(id_cfop);
                        TXT_ID_CFOP.Text = o_tb_cfop.cfop.ToString();
                        TXT_DESC_CFOP.Text = o_tb_cfop.descricao.ToString();

                        Session.Remove("id_cfop");
                    }


                    if (Session["id_produto"] != null)
                    {
                        decimal vlr_outro = 0;                     
                        decimal vlr_total_item = 0;
                        decimal vlr_desconto = 0;
                        decimal vlr_qtd = 0;
                        decimal vlr_unitario = 0;
                        decimal vlr_seguro = 0;
                        decimal vlr_frete = 0;

                        int id_produto = Convert.ToInt32(Session["id_produto"].ToString());
                        o_tb_produto = b_tb_produto.SelecionarObjetoPorId(id_produto);
                        DDL_ID_UNIDADE_MEDIDA.SelectedValue = o_tb_produto.id_unidade_medida.ToString();
                        TXT_ID_PRODUTO_SERVICO.Text = o_tb_produto.id.ToString();
                        TXT_DESCRICAO.Text = o_tb_produto.descricao.ToString();

                        TXT_VALOR_UNITARIO.Text = PUB_FUNCOES.FormataNumerico(o_tb_produto.valor_venda.ToString());
                        // TXT_VALOR_UNITARIO.Text = o_tb_produto.valor_venda_atacado.ToString();                        

                        TXT_QTD.Text = "1";


                        vlr_desconto = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(TXT_VALOR_DESCONTO.Text));
                        vlr_outro = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(TXT_VALOR_OUTRO.Text));
                        vlr_unitario = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(o_tb_produto.valor_venda.ToString()));
                        vlr_frete = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(TXT_VALOR_FRETE.Text));
                        vlr_seguro = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(TXT_VALOR_SEGURO.Text));


                        vlr_qtd = Convert.ToDecimal(TXT_QTD.Text);
                        vlr_total_item = PUB_CALCULA_VALORES.CalculoTotalItem(vlr_qtd, vlr_unitario, vlr_desconto, vlr_outro,vlr_seguro,vlr_frete);                        

                        TXT_VALOR_TOTAL_ITEM.Text = PUB_FUNCOES.FormataNumerico(vlr_total_item.ToString());

                        Session.Remove("id_produto");
                    }


                }

            }

        }

        private void PreencheDadosCadastro(int id_cadastro)
        {

            o_tb_cadastro = b_tb_cadastro.SelecionarObjetoPorId(id_cadastro);

            // CLIENTE

            TXT_ID_CLI_FOR.Text = o_tb_cadastro.id.ToString();
            TXT_NOME_CLI_FOR.Text = o_tb_cadastro.nome.ToString();
            //TXT_CNPJ_CPF.Text = o_tb_cadastro.cnpj_cpf.ToString();

            //// ENDERECO
            //TXT_ENDERECO.Text = o_tb_cadastro.Tb_endereco_cadastro.endereco.ToString();
            //TXT_NUMERO.Text = o_tb_cadastro.Tb_endereco_cadastro.numero.ToString();

            //TXT_BAIRRO.Text = o_tb_cadastro.Tb_endereco_cadastro.bairro.ToString();
            //TXT_CEP.Text = o_tb_cadastro.Tb_endereco_cadastro.cep.ToString();
            //TXT_COMPLEMENTO.Text = o_tb_cadastro.Tb_endereco_cadastro.complemento.ToString();
            //TXT_TELEFONE.Text = o_tb_cadastro.Tb_endereco_cadastro.telefone.ToString();
            //TXT_CELULAR.Text = o_tb_cadastro.Tb_endereco_cadastro.celular.ToString();
            //TXT_FAX.Text = o_tb_cadastro.Tb_endereco_cadastro.fax.ToString();

            //DDL_ID_LOGRADOURO.SelectedValue = o_tb_cadastro.Tb_endereco_cadastro.id_logradouro.ToString();
            //DDL_ID_PAIS.SelectedValue = o_tb_cadastro.Tb_endereco_cadastro.id_pais.ToString();
            //DDL_ID_CIDADE.SelectedValue = o_tb_cadastro.Tb_endereco_cadastro.id_cidade.ToString();
            //DDL_ID_UF.SelectedValue = o_tb_cadastro.Tb_endereco_cadastro.id_uf.ToString();
            //CHK_SIT_PRINCIPAL.Checked = o_tb_cadastro.Tb_endereco_cadastro.sit_principal;

            //b_tb_cidade.PreencheControle(DDL_ID_CIDADE, string.Format("id_uf={0}", o_tb_cadastro.Tb_endereco_cadastro.id_uf), false);

            //DDL_ID_ENDERECO_TIPO.SelectedValue = o_tb_cadastro.Tb_endereco_cadastro.id_endereco_tipo.ToString();
        }
        
        protected void BTN_SALVAR_Click(object sender, EventArgs e)
        {

         

            
        }

        protected void IMG_BTN_ABRIR_MODAL_CFOP_Click(object sender, ImageClickEventArgs e)
        {

        }

        protected void BTN_INCLUIR_ITEM_Click(object sender, EventArgs e)
        {
            int id_produto_servico = 0;
            decimal vlr_unitario = 0;
            decimal vlr_desconto = 0;
            decimal vlr_outro = 0;
            decimal vlr_total_item = 0;
            decimal vlr_qtd = 0;
            decimal vlr_ipi = 0;
            decimal vlr_aliq_ipi = 0;
            decimal vlr_aliq_icms = 0;
            //decimal vlr_bc_icms = 0;
            decimal vlr_icms = 0;
            //int id_unidade_medida = 0;

            try
            {

                bool erro = false;

                id_produto_servico = Convert.ToInt32(TXT_ID_PRODUTO_SERVICO.Text);
                vlr_unitario = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(TXT_VALOR_UNITARIO.Text));
                vlr_desconto = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(TXT_VALOR_DESCONTO.Text));
                vlr_ipi = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(TXT_VALOR_IPI.Text));
                vlr_qtd = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(TXT_QTD.Text));
                vlr_total_item = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(TXT_VALOR_TOTAL_ITEM.Text));
                vlr_outro = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(TXT_VALOR_OUTRO.Text));
                vlr_aliq_ipi = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(TXT_VALOR_ALIQ_IPI.Text));
                vlr_aliq_icms = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(TXT_VALOR_ALIQ_ICMS.Text));
                vlr_icms = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(TXT_VALOR_ICMS.Text));


                if (vlr_unitario == 0)
                {
                    Master.MSG_ALERTA("Valor do desconto não pode ser maior que o valor unitário");
                    erro = true;
                }

                if (vlr_desconto > vlr_unitario)
                {
                    Master.MSG_ALERTA("Valor do desconto não pode ser maior que o valor unitário");
                    erro = true;
                }

                if (!erro)
                {

                    if (TXT_ID_PRODUTO_SERVICO.Text != string.Empty && TXT_DESCRICAO.Text != string.Empty && TXT_VALOR_UNITARIO.Text != string.Empty)
                    {

                          

                          o_tb_produto = b_tb_produto.SelecionarObjetoPorId(id_produto_servico);

                                                 
                          o_tb_nf_item.id_produto_servico = id_produto_servico;                      
                          o_tb_nf_item.id_tipo_item = o_tb_produto.id_tipo_item;
                          o_tb_nf_item.ean = o_tb_produto.ean.ToString();
                          o_tb_nf_item.descricao = o_tb_produto.descricao;
                          o_tb_nf_item.id_ncm = o_tb_produto.id_ncm;
                          o_tb_nf_item.extipi = o_tb_produto.extipi.ToString();
                          o_tb_nf_item.id_genero_produto_servico = o_tb_produto.id_genero_produto_servico;
                          o_tb_nf_item.cfop = Convert.ToInt32(TXT_ID_CFOP_ITEM.Text);
                          o_tb_nf_item.qtd = Convert.ToInt32(TXT_QTD.Text);
                          o_tb_nf_item.qtd_trib = Convert.ToInt32(TXT_QTD.Text);
                          o_tb_nf_item.id_unidade_medida = Convert.ToInt32(DDL_ID_UNIDADE_MEDIDA.SelectedValue);
                          o_tb_nf_item.desc_unid_medida = DDL_ID_UNIDADE_MEDIDA.Text;
                          o_tb_nf_item.desc_unid_medida_trib = DDL_ID_UNIDADE_MEDIDA.Text;
                          o_tb_nf_item.valor_unitario = Convert.ToDecimal(TXT_VALOR_UNITARIO.Text);
                          o_tb_nf_item.valor_unitario_trib = Convert.ToDecimal(TXT_VALOR_UNITARIO.Text);
                          o_tb_nf_item.valor_frete = Convert.ToDecimal(TXT_VALOR_FRETE.Text);
                          o_tb_nf_item.valor_seguro = Convert.ToDecimal(TXT_VALOR_SEGURO.Text);
                          o_tb_nf_item.valor_desconto = Convert.ToDecimal(TXT_VALOR_DESCONTO.Text);
                          o_tb_nf_item.valor_outro = Convert.ToDecimal(TXT_VALOR_OUTRO.Text);
                          o_tb_nf_item.valor_total = Convert.ToDecimal(TXT_VALOR_TOTAL_ITEM.Text);
                          o_tb_nf_item.ind_total_nota = Convert.ToInt32(CHK_IND_TOTAL_NOTA.Checked);

                          int cfop = Convert.ToInt32(TXT_ID_CFOP.Text);
                          int id_empresa = Convert.ToInt32(DDL_ID_EMPRESA.SelectedValue);

                          BLL_TB_CFOP_IMPOSTO b_tb_cfop_imposto = new BLL_TB_CFOP_IMPOSTO();
                          List<OBJ_TB_CFOP_IMPOSTO> lista_cfop_imposto = new List<OBJ_TB_CFOP_IMPOSTO>();
                          lista_cfop_imposto =     b_tb_cfop_imposto.SelecionarLista(string.Format("tb_cfop_imposto.id_empresa = {0} and tb_cfop_imposto.cfop = {1}", id_empresa, cfop), "");

                          foreach (OBJ_TB_CFOP_IMPOSTO o_tb_cfop_imposto in lista_cfop_imposto)
                          {

                              // ICMS
                              o_tb_nf_item_imposto_icms.id_cst_icms = o_tb_cfop_imposto.id_cst_icms.ToString();
                              o_tb_nf_item_imposto_icms.id_csosn = Convert.ToInt32(o_tb_cfop_imposto.id_csosn);
                              o_tb_nf_item_imposto_icms.id_mod_bc_icms = Convert.ToInt32(o_tb_cfop_imposto.id_mod_bc_icms);
                              o_tb_nf_item_imposto_icms.valor_aliq_red_bc_icms = o_tb_cfop_imposto.valor_aliq_red_bc_icms;
                              o_tb_nf_item_imposto_icms.valor_bc_icms = vlr_total_item;
                              o_tb_nf_item_imposto_icms.valor_aliq_icms = o_tb_cfop_imposto.valor_aliq_icms;
                              o_tb_nf_item_imposto_icms.valor_icms = o_tb_cfop_imposto.valor_aliq_icms *  vlr_total_item;
                              o_tb_nf_item_imposto_icms.id_mod_bc_icms = o_tb_cfop_imposto.id_mod_bc_icms;
                              o_tb_nf_item_imposto_icms.id_mod_bc_icms_st = o_tb_cfop_imposto.id_mod_bc_icms_st;
                              o_tb_nf_item_imposto_icms.valor_aliq_icms_mva_st = o_tb_cfop_imposto.valor_aliq_icms_mva_st;
                              o_tb_nf_item_imposto_icms.valor_aliq_red_bc_icms_st = o_tb_cfop_imposto.valor_aliq_red_bc_icms_st;
                              
                              // ICMS SUBSTITUICAO
                              o_tb_nf_item_imposto_icms.valor_bc_icms_st = 0;
                              o_tb_nf_item_imposto_icms.valor_aliq_icms_st = o_tb_cfop_imposto.valor_aliq_icms_st;
                              o_tb_nf_item_imposto_icms.valor_icms_st = 0;
                              o_tb_nf_item_imposto_icms.valor_bc_icms_st_ret = 0;
                              o_tb_nf_item_imposto_icms.valor_icms_st_ret = 0;
                              o_tb_nf_item_imposto_icms.valor_bc_icms_st_dest = 0;
                              o_tb_nf_item_imposto_icms.valor_icms_st_dest = 0;
                              o_tb_nf_item_imposto_icms.id_mot_desoneracao_icms = o_tb_cfop_imposto.id_mot_desoneracao_icms;
                              o_tb_nf_item_imposto_icms.valor_aliq_bc_op_propria = 0;
                              o_tb_nf_item_imposto_icms.uf_st = string.Empty;
                              o_tb_nf_item_imposto_icms.valor_aliq_cred_sn = 0;
                              o_tb_nf_item_imposto_icms.valor_cred_icms_sn = 0;



                                 
                            // IPI
                        
                               o_tb_nf_item_imposto_ipi.id_cst_ipi = o_tb_cfop_imposto.id_cst_ipi.ToString();
                               o_tb_nf_item_imposto_ipi.valor_bc_ipi = vlr_total_item ;
                                o_tb_nf_item_imposto_ipi.valor_aliq_ipi = o_tb_cfop_imposto.valor_aliq_ipi;
                            //  o_tb_nf_item_imposto_ipi.valor_ipi
                            //  o_tb_nf_item_imposto_ipi.classe_enquadramento
                            //  o_tb_nf_item_imposto_ipi.cnpj_produtor
                            //  o_tb_nf_item_imposto_ipi.codigo_selo_ipi
                            //  o_tb_nf_item_imposto_ipi.qtd_selo_ipi
                            //  o_tb_nf_item_imposto_ipi.codigo_enquadramento_ipi
                            //  o_tb_nf_item_imposto_ipi.qtd_unid_trib_ipi
                            //  o_tb_nf_item_imposto_ipi.valor_unid_trib_ipi
                        

                          }

                          
                            
                        
                     
                        // PIS

                        //  o_tb_nf_item.id_cst_pis
                        //  o_tb_nf_item.valor_bc_pis
                        //  o_tb_nf_item.valor_aliq_pis
                        //  o_tb_nf_item.valor_pis
                        //  o_tb_nf_item.qtd_bc_prod_pis
                        //  o_tb_nf_item.valor_aliq_prod_pis
                        //  o_tb_nf_item.valor_bc_pis_st
                        //  o_tb_nf_item.valor_aliq_pis_st
                        //  o_tb_nf_item.valor_pis_st
                        //  o_tb_nf_item.qtd_bc_prod_pis_st
                        //  o_tb_nf_item.valor_aliq_prod_pis_st

                        // COFINS

                        //  o_tb_nf_item.id_cst_cofins
                        //  o_tb_nf_item.valor_bc_cofins
                        //  o_tb_nf_item.valor_aliq_cofins
                        //  o_tb_nf_item.valor_cofins
                        //  o_tb_nf_item.qtd_bc_cofins_prod
                        //  o_tb_nf_item.valor_aliq_cofins_prod
                        //  o_tb_nf_item.valor_bc_cofins_st
                        //  o_tb_nf_item.valor_aliq_cofins_st
                        //  o_tb_nf_item.valor_cofins_st
                        //  o_tb_nf_item.qtd_bc_cofins_st_prod
                        //  o_tb_nf_item.valor_aliq_confis_st_prod


                        // II

                        //  o_tb_nf_item.valor_bc_ii
                        //  o_tb_nf_item.valor_desp_adu
                        //  o_tb_nf_item.valor_ii
                        //  o_tb_nf_item.valor_iof
                        //  o_tb_nf_item.valor_bc_issqn
                        //  o_tb_nf_item.valor_aliq_issqn
                        //  o_tb_nf_item.valor_issqn
                        //  o_tb_nf_item.municipio_fg
                        //  o_tb_nf_item.id_servico_issqn
                        //  o_tb_nf_item.sit_trib_issqn

                        //b_tb_nf_item.IncluirDataTable(Convert.ToInt32(TXT_ID_PRODUTO_SERVICO.Text), vlr_unitario, vlr_desconto, vlr_outro, vlr_total_item, vlr_qtd, vlr_ipi);

                        //GRV_TB_NF_ITEM.DataSource = b_tb_nf_item.Dt_nf_item;
                        //GRV_TB_NF_ITEM.DataBind();

                        //LimparItem();

                        //CalculaTotalOrcamento();

                    }
                }

            }
            catch (Exception)
            {               
                Master.MSG_ALERTA("Erro ao tentar incluir o item no orçamento");

            }

        }

        protected void DDL_ID_MOD_DOC_FISCAL_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (DDL_ID_MOD_DOC_FISCAL.SelectedValue != string.Empty)
            {
                if (DDL_ID_MOD_DOC_FISCAL.SelectedValue != "30")
                {
                    PNL_NF_CHAVE_PROTOCOLO.Visible = false;
                }
                else
                {
                    PNL_NF_CHAVE_PROTOCOLO.Visible = true;
                }
            }
        }

        protected void DDL_ID_TIPO_EMISSAO_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (DDL_ID_TIPO_EMISSAO.SelectedValue != string.Empty)
            {
                if (DDL_ID_TIPO_EMISSAO.SelectedValue != String.Format("{0}", (int)PUB_ENUM.NF_TIPO_EMISSAO.NORMAL))
                {

                    PNL_NF_CONTINGENCIA.Visible = true;

                }
                else
                {
                    PNL_NF_CONTINGENCIA.Visible = false;
                }
            }
        }

        protected void IMG_BTN_EXCLUIR_Click(object sender, ImageClickEventArgs e)
        {

        }

        protected void GRV_TB_NF_ITEM_Sorting(object sender, GridViewSortEventArgs e)
        {

        }

        protected void GRV_TB_NF_ITEM_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {

        }


    }
}